package mysql

import (
	"go-0650-blog-grom/models"
	"go.uber.org/zap"
)

type PostMapper struct {
}

/**
 * @Author SSWANG
 * @Description //TODO 创建帖子
 * @Date 15:44 2022/10/28
 **/
// CreatePost 创建帖子
func CreatePost(post *models.Post) (err error) {
	err = Db.Create(post).Error

	if err != nil {
		zap.L().Error("insert post failed", zap.Error(err))
		err = ErrorInsertFailed
		return
	}
	return
}

/**
 * @Author SSWANG
 * @Description //TODO 获取帖子列表
 * @Date 19:54 2022/10/28
 **/
func GetPostList(page, size int64) (posts []*models.Post, err error) {

	posts = make([]*models.Post, 0, size) // 0：长度  2：容量

	err = Db.Limit(int(size)).Offset(int((page - 1) * size)).Find(posts).Error

	if err != nil {
		zap.L().Error("GetPostList() failed", zap.Error(err))
	}
	return
}
